A number of systems and solutions are offered on the market for the design of parts or assemblies of parts, such as the one provided by DASSAULT SYSTEMES under the trademark CATIA. These so-called computer-aided design (CAD) systems allow a user to construct, manipulate and view complex three-dimensional (3D) models of objects or assemblies of objects. CAD systems provide a representation of modeled objects using edges or lines, in certain cases with faces. Lines or edges may be represented in various manners, e.g. non-uniform rational B-splines (NURBS). These CAD systems manage parts or assemblies of parts as modeled objects, which are essentially specifications of geometry. Specifically, CAD files contain specifications, from which a geometry is generated, and from geometry a representation is generated. Specifications, geometry and representation may be stored in a single CAD file or multiple ones. CAD systems include graphic tools for representing the modeled objects to the designers; these tools are dedicated to the display of complex objects—the typical size of a file representing an object in a CAD system being in the range of a Mega-byte for part, and an assembly may comprise thousands of parts. A CAD system manages models of objects, which are stored in electronic files.
There also exists product life cycle management (PLM) solutions, such as the suite of products provided by DASSAULT SYSTEMES under the trademarks CATIA, ENOVIA and DELMIA; these solutions provide an engineering hub, which organizes product engineering knowledge, a manufacturing hub, which manages manufacturing engineering knowledge, and an enterprise hub which enables enterprise integrations and connections into both the engineering and manufacturing hubs. All together the systems delivers an open object model linking products, processes, resources to enable dynamic, knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production and service.
Such PLM solutions comprise a relational database of products. A database is usually defined as a collection of data (typically data and relations between the data) organized for rapid search and retrieval. Databases are structured to facilitate storage, retrieval, modification, and deletion of data in conjunction with various data-processing operations. Databases generally consists of a file or set of files that can be broken down into records, each of which consist of one or more fields. Fields are the basic units of data storage. Users retrieve database information primarily through queries. Using keywords and sorting commands, users can search, rearrange, group, and select the field in many records to retrieve or create reports on particular aggregates of data according to the rules of the database management system being used.
Using PLM solutions, a basic need of a user is to visualize a complex product made of thousand objects/parts and this, possibly according to different views or different viewpoints (virtual camera). The user may notably modify the viewpoint while viewing the modeled product being displayed. The user may also wish to select a given part to edit it (that is, possibly modify it), etc.
The standard solution to this problem is to load in the client computer memory the whole model corresponding to the assembly of said objects, including a three dimensional graphic representation of the model and all the information on said objects such as geometry, constraints . . . , but also hyperlinks to other objects. Thus, selection of individual parts is possible. However, in the field of PLM/CAD, the critical problem is that the global amount of visualization data is too large to fit in memory or at least too large for enabling a rapid display. Thus, due to the typical size of a file representing a CAD product (a product such as an airplane is likely to contain millions of parts, representing several giga-octets of memory), the rendering time of a view of said product may be cripplingly long.
There is therefore a need for a solution enabling an efficient display of a CAD product comprising a number of parts. Preferably, the solution should allow for navigating in large 3D PLM data with reduced Input/output (I/O) and memory consumption.